﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using PeliGo.BL;
using PeliGo.DataModel;
namespace PeliGo.UI
{
    public partial class frmEjemplar : Form
    {
        public delegate void CargarGrilla();
        public CargarGrilla midelegado;

        private String MensajePregunta;
        private String MensajeExito;

        private PeliculaBL PeliculaBL = new PeliculaBL();
        private FormatoBL FormatoBL = new FormatoBL();
        private PromocionBL PromocionBL = new PromocionBL();

        public frmEjemplar()
        {
            InitializeComponent();
        }

        private bool ValidarComponentes()
        {
            return (txtPrecio.Text.Length == 0 || comboFormato.SelectedValue == null || txtStock.Text.Length == 0 || comboPelicula.SelectedValue==null || comboPromocion.SelectedValue == null);
        }
        private void frmEjemplar_Load(object sender, EventArgs e)
        {
            comboFormato.DataSource = FormatoBL.ListarFormatoCombo();
            comboFormato.DisplayMember = "NFormato";
            comboFormato.ValueMember = "FormatoId";

            comboPelicula.DataSource = PeliculaBL.ListarPeliculaCombo();
            comboPelicula.DisplayMember = "NPelicula";
            comboPelicula.ValueMember = "PeliculaId";

            comboPromocion.DataSource = PromocionBL.ListarPromocionCombo();
            comboPromocion.DisplayMember = "Descripcion";
            comboPromocion.ValueMember = "PromocionId";

            MensajePregunta = "¿Esta seguro de registrar el ejemplar";
            MensajeExito = "El ejemplar se registró con éxito.";

        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            if (ValidarComponentes())
            {
                MessageBox.Show("Verifique que todas las casillas esten llenas.", "PeliGo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            if (MessageBox.Show(MensajePregunta, "PeliGo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                PeliGo.DataModel.Ejemplar objEjemplar = new PeliGo.DataModel.Ejemplar();
                EjemplarBL objEjemplarBL = new EjemplarBL();

                objEjemplar.PeliculaId = Int32.Parse(comboPelicula.SelectedValue.ToString());
                objEjemplar.FormatoId = Int32.Parse(comboFormato.SelectedValue.ToString());
                objEjemplar.PromocionId = Int32.Parse(comboPromocion.SelectedValue.ToString());
                objEjemplar.Stock = Int32.Parse(txtStock.Text);
                objEjemplar.PrecioActual = System.Convert.ToDecimal(txtPrecio.Text);
                objEjemplar.Estado = 1;
              

                objEjemplarBL.AgregarEjemplar(objEjemplar);

                midelegado();
                MessageBox.Show(MensajeExito, "PeliGo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Close();
            }

        }
    }
}
